package com.quiz.bis.domain.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.quiz.common.core.domain.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 考试活动主表
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("exams")
public class Exam extends BaseModel {
    private static final long serialVersionUID = 1L;

    @TableId
    private Long id;

    /** 考试活动组ID */
    @TableField("exam_group_id")
    private Long examGroupId;
    /** 考试活动名称 */
    @TableField("title")
    private String title;

    @TableField("type")
    private Integer type; // 1-考试 2-测评 3-作业

    /** 试卷ID */
    @TableField("paper_id")
    private Long paperId;

    /** 考试活动状态 */
    @TableField("status")
    private Integer status; // 0-草稿 1-已发布 2-进行中 3-已结束 4-已归档

    /** 成绩发布状态 */
    @TableField("score_pubed_status")
    private Integer scorePubedStatus; // 0-未发布 1-已发布

    /** 是否需要身份认证 */
    @TableField("need_identity")
    private Boolean needIdentity;

    /** 考试时长 */
    @TableField("time_limit")
    private Integer timeLimit;

    /** 开始时间 */
    @TableField("start_time")
    private Date startTime;

    /** 结束时间 */
    @TableField("end_time")
    private Date endTime;

    /** 考试活动配置 */
    @TableField("config_json")
    private String configJson;

    /** 参与人数 */
    @TableField("join_count")
    private Integer joinCount;
}